from framework.interface.abstract_api import AbstractApi
from marshmallow import Schema, fields
from zhipuai import ZhipuAI
import requests
from flask import request



# 请访问：http://106.53.97.117:7777/v1/api-g4model
#  获取周期性增加次数  每一天 对于进入获取 uuid进行限制 当uuid的今日次数为0 则代表使用 结束
class ApiG4model(AbstractApi):

    # 参数 模式
    class PostSchema(Schema):
        input_text=fields.Str(required=False,default='')

    #  进去 把 非登录 游客用户的  IP进行 记录 并给予 10次的  G4体验 并标记为  status为1  代表今日已经给过 而对应的  每晚 23：50都会重新赋予新的10次机会作为定时任务
    def handle_post_request(self):
        input_text =request.get_json()["input_text"]
        result = self.judge_model(input_text, "88a9abd4972f12772fa9e0e5aa03e18f.81dptUcRAzjXordE")
        return result

    def judge_model(self,input_text,  apikey: str):
        client = ZhipuAI(api_key=apikey)  # 填写您自己的APIKey
        response = client.chat.completions.create(
            model="GLM-4",  # 填写需要调用的模型名称
            messages=[
                {"role": "user", "content": input_text},
            ],
        )
        return response.choices[0].message.content



